Functorial Data Model
aka. categorical database
by David I. Spivak
http://www.dspivak.net/
Functorial Dynamics and Interaction. Using polynomial functors to model dynamical systems, decision processes, data migration, and more! (I'm completely enthralled with the category Poly.)
ja: 関手データモデル
関手を使う data model
圏的情報学(categorical informatics)の中心概念らしい。
original papers:
1009.1166 Functorial Data Migration
1202.2591 Database queries and constraints via lifting problems
1209.1011 Kleisli Database Instances
1212.5303 Relational Foundations For Functorial Data Migration
recent papers:
https://arxiv.org/search/?searchtype=author&query=Spivak%2C+D+I&abstracts=show
related?
1602.03501 Algebraic Databases
1903.10579 Categorical Data Integration for Computational Science
2301.04846 Algebraic Model Management: A Survey
concepts:
table:mappings
データベースの概念 圏論の概念
データベースのスキーマ 圏
データベースのテーブル 圏の対象
テーブルのカラム 圏の射
データベースの状態/インスタンス 関手
データ操作 自然変換
database schema の圏Schと 小圏の圏Catとは 圏同値である。
cf. Lawvere の圏論的な代数理論 (algebraic theory)
他の概念について
relationship
ja: 関連付け
ただの写像では?
つまり主キーも外部キーも要らないはず
キマイラの檜山さん(m-hiyama)による 紹介blogs:
https://m-hiyama.hatenablog.com/search?q=関手データモデル
以下、おおむね時系列昇順
デイヴィッド・スピヴァックはデータベース界の革命児か -- 関手的データモデル - 檜山正幸のキマイラ飼育記 (はてなBlog)
関手的データモデルをどう説明するか? 考えてます - 檜山正幸のキマイラ飼育記 (はてなBlog)
データモデルを構成する基本概念は3つだけ: テーブル、カラム、制約*5 です。それぞれが圏の対象、圏の射、可換図式に対応します。
スピヴァックの用語法では、パス同値関係(path equivalence relation)
relationship の代替
関手的データモデル雑感: 正規形とかジョインとか - 檜山正幸のキマイラ飼育記 (はてなBlog)
結局、正規形は 大した話では なかった 様だ。
ref. ↓
関手的データモデルが変える世界 - 檜山正幸のキマイラ飼育記 (はてなBlog)
自動migration への 展望
衝撃的なデータベース理論・関手的データモデル 入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
「入門 1」相当
functor が relvar 相当
path... が relationship 相当
関手的データモデル入門 2:統一的に制約を書く方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
関手データモデル入門 3:とても便利なスピヴァック流パス記法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
関手データモデル入門 4:ためらってしまう心を取り除く - 檜山正幸のキマイラ飼育記 (はてなBlog)
関手データモデルからの教訓とノウハウ - 檜山正幸のキマイラ飼育記 (はてなBlog)
主キー/外部キーなんてドーデモイイ - 檜山正幸のキマイラ飼育記 (はてなBlog)
絵で分かる! 主キー/外部キーのアホらしさ - 檜山正幸のキマイラ飼育記 (はてなBlog)
関係データベースの第1正規形はナンセンス - 檜山正幸のキマイラ飼育記 (はてなBlog)
リーフ対象が定義できても、それはあくまで圏Sに対して相対的なものです。絶対的なアトミックなんてありません。
value の atomicity なんて なかった。
Dateらも否定的である。
ref. https://en.wikipedia.org/wiki/First_normal_form#Atomicity
関係データベースの第n正規形もほぼナンセンス、そしてだから… - 檜山正幸のキマイラ飼育記 (はてなBlog)
スピヴァック理論を既存理論と対比してみるのはもう終わりにします。それより、スピヴァック理論で何が出来るかを考えたほうが楽しいですからね。
「グロタンディーク」って言ったらカッコイイのか? - 檜山正幸のキマイラ飼育記 (はてなBlog)
Spivak がグロタンディーク構成を説明に多用してる。
https://ncatlab.org/nlab/show/Grothendieck+construction
関手データモデル/圏論データベース: その後の発展と現状 (2016) - 檜山正幸のキマイラ飼育記 (はてなBlog)
型システム(type system)と等式論理(equational logic)を関手データモデルと上手に接合する、という課題を解決しつつあります。
派生
一般関手モデル
https://m-hiyama.hatenablog.com/search?q=一般関手モデル
スキーマとインスタンス -- 一般関手モデル - 檜山正幸のキマイラ飼育記 (はてなBlog)
一般関手モデル:インスタンスの余タプリングと貼り合わせ - 檜山正幸のキマイラ飼育記 (はてなBlog)
一般関手モデル:インスタンスのモノイド積とテンソル積 - 檜山正幸のキマイラ飼育記 (はてなBlog)
「一般関手モデル」というタイトルの記事は、スピヴァック理論それ自体の解説じゃなくて、スピヴァックに触発されて僕が考えたことのメモです。
一般関手モデル:相対スキーマと相対インスタンス - 檜山正幸のキマイラ飼育記 (はてなBlog)
一般関手モデル:「圏の表示」の圏 - 檜山正幸のキマイラ飼育記 (はてなBlog)
応用
https://www.jstage.jst.go.jp/article/mjir/12/0/12_170_1/_pdf/-char/ja
#database